import { defineConfig } from 'vite';
import type { UserConfigExport } from 'vite'
import path from 'path';
import vue from '@vitejs/plugin-vue'
// https://vitejs.dev/config/
export default defineConfig(({ command, mode }) => {
  let moduleConfig: UserConfigExport = {};
  if (command === 'serve') {
    // return {
    //   // dev 独有配置
    // }
  } else {
    // command === 'build'
    // return {
    //   // build 独有配置
    // }
    moduleConfig = {
      build: {
        rollupOptions: {
          input: "src/main.js"
        }
      }
    }
    // moduleConfig.build.rollupOptions.input = "src/main.js";
  }

  return {
    base: "./",
    plugins: [vue()],
    resolve: {
      alias: {
        '@': path.resolve(__dirname, 'src'),
      },
    },
    build: {
      outDir: "module/dist",

      lib: {
        entry: path.resolve(__dirname, 'src/main.js'),
        name: 'jstools',
        fileName: (format) => `jstools.${format}.js`
      }, rollupOptions: {
        // 确保外部化处理那些你不想打包进库的依赖
        external: ['vue', 'jquery'],
        output: {
          // 在 UMD 构建模式下为这些外部化的依赖提供一个全局变量
          globals: {
            vue: 'Vue',
            jquery: "$"
          }
        }
      }
    },
    // ...moduleConfig
  }
});
